Technical Field
The present disclosure generally relates to electronic circuits and, more specifically, to circuits executing encryption algorithms and using a storage in a non-volatile memory.
Discussion of the Related Art
In most applications using encryption algorithms, a protection against fault injection attacks using a counter is implemented. The counter is updated on each execution of the algorithm to make sure that an attacker is not performing multiple executions of the algorithm to discover its secret data (typically, the keys). The updating of the counter (incrementation or decrementation) and the storage of its new value in a non-volatile memory (typically an EEPROM) are performed before the algorithm is executed to avoid for an attacker to interrupt the process at the end of the algorithm and before the counter update, which would made the protection inefficient.
Current protections are not yet optimal and may be improved.